package com.lyf.scm.admin.api.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 需求计划返回页面DTO
 *
 * @author wangchlei
 * @date 2020/10/26
 */
@Data
@ApiModel("需求计划页面数据DTO")
public class RequirementPlanInfoDTO extends OtherTargetInfoDTO{
    @ApiModelProperty("渠道code")
    private String channelCode;
    /**
     * 渠道显示列
     */
    @ApiModelProperty("渠道name")
    private String channel;

    @ApiModelProperty("计划类型name")
    private String planTypeName;

    @ApiModelProperty("省份code")
    private String provinceCode;

    @ApiModelProperty("城市code")
    private String cityCode;

    @ApiModelProperty("区/县code")
    private String countyCode;

    @ApiModelProperty("门店code")
    private String storeCode;
    /**
     * 区域显示列
     */
    @ApiModelProperty("区域name")
    private String area;

    @ApiModelProperty("仓库code")
    private String warehouseCode;
    /**
     * 仓库显示列
     */
    @ApiModelProperty("仓库name")
    private String warehouseName;

    @ApiModelProperty("大品类code")
    private String priCategoryCode;

    @ApiModelProperty("中品类code")
    private String secCategoryCode;

    @ApiModelProperty("小品类code")
    private String terCategoryCode;
    /**
     * 品类显示列
     */
    @ApiModelProperty("品类")
    private String category;

    @ApiModelProperty("商品sku")
    private String skuCode;
    /**
     * sku显示列
     */
    @ApiModelProperty("商品name")
    private String skuName;
    /**
     * 以下为聚合值
     */
    @ApiModelProperty("1.销售计划量指标名称")
    private String salesPlanQtyLabel;

    @ApiModelProperty("销售计划量")
    private List<BigDecimal> salesPlanQty;

    @ApiModelProperty("2.预测计划量指标名称")
    private String forecastPlanQtyLabel;
    /**
     * 以下为聚合值
     */
    @ApiModelProperty("预测计划量")
    private List<BigDecimal> forecastPlanQty;

    @ApiModelProperty("3.安全库存量指标名称")
    private String stockSafetyLabel;

    @ApiModelProperty("安全库存量")
    private List<BigDecimal> stockSafety;

//    @ApiModelProperty("4.期末库存数量指标名称")
//    private String endingInventoryQtyLabel;
//
//    @ApiModelProperty("期末库存数量")
//    private List<BigDecimal> endingInventoryQty;

    @ApiModelProperty("5.目标库存数量指标名称")
    private String targetInventoryQtyLabel;

    @ApiModelProperty("目标库存数量")
    private List<BigDecimal> targetInventoryQty;

    @ApiModelProperty("6.覆盖天数指标名称")
    private String coveredDaysLabel;

    @ApiModelProperty("覆盖天数")
    private List<BigDecimal> coveredDays;

    @ApiModelProperty("7.本次供应链确认量指标名称")
    private String supChainConfirmQtyLabel;

    @ApiModelProperty("本次供应链确认量")
    private List<BigDecimal> supChainConfirmQty;

    @ApiModelProperty("本次供应链确认量是否可编辑")
    private List<Integer> status;

    @ApiModelProperty("8.本次销售计划确认量指标名称")
    private String salePlanConfirmationQtyLabel;

    @ApiModelProperty("本次销售计划确认量")
    private List<BigDecimal> salePlanConfirmationQty;

    @ApiModelProperty("9.上次供应链确认量指标名称")
    private String lastConfirmQtyLabel;

    @ApiModelProperty("上次供应链确认量")
    private List<BigDecimal> lastConfirmQty;

    @ApiModelProperty("10.上次销售计划确认量指标名称")
    private String lastSalePlanConfirmQtyLabel;

    @ApiModelProperty("上次销售计划确认量")
    private List<BigDecimal> lastSalePlanConfirmQty;

    @ApiModelProperty("11.采购计划数量指标名称")
    private String purchasePlanQtyLabel;

    @ApiModelProperty("采购计划数量")
    private List<BigDecimal> purchasePlanQty;

    @ApiModelProperty("12.采购订单数量指标名称")
    private String purchaseOrderQtyLabel;

    @ApiModelProperty("采购订单数量")
    private List<BigDecimal> purchaseOrderQty;

    @ApiModelProperty("13.未履约采购量指标名称")
    private String noFulfilPurchaseQtyLabel;

    @ApiModelProperty("未履约采购量")
    private List<BigDecimal> noFulfilPurchaseQty;

    @ApiModelProperty("14.已确认的采购订单数量指标名称")
    private String confirmedPurchaseOrderQtyLabel;

    @ApiModelProperty("已确认的采购订单数量")
    private List<BigDecimal> confirmedPurchaseOrderQty;

    @ApiModelProperty("15.预约在途采购量指标名称")
    private String reservePurchaseQtyLabel;

    @ApiModelProperty("预约在途采购量")
    private List<BigDecimal> reservePurchaseQty;

    @ApiModelProperty("16.实际到仓数量指标名称")
    private String actualQtyLabel;

    @ApiModelProperty("实际到仓数量")
    private List<BigDecimal> actualQty;

    @ApiModelProperty("17.实际入库数量指标名称")
    private String actualStorageQtyLabel;

    @ApiModelProperty("实际入库数量")
    private List<BigDecimal> actualStorageQty;

    @ApiModelProperty("19.实时库存指标名称")
    private String realTimeInventoryLabel;
    @ApiModelProperty("实时库存")
    private List<BigDecimal> realTimeInventory;

    @ApiModelProperty("销售计划金额指标名称")
    private String salesPlanAmountLabel;
    @ApiModelProperty("销售计划金额")
    private List<BigDecimal> salesPlanAmount;
    @ApiModelProperty("预测计划金额指标名称")
    private String forecastPlanAmountLabel;
    @ApiModelProperty("预测计划金额")
    private List<BigDecimal> forecastPlanAmount;
}
